The present invention relates to a method and apparatus for generating a fillet surface between two surfaces. The present invention is particularly useful for a three-dimensional (3D) computer aided design (CAD) system.
A present 3D CAD system must process various complicated surfaces of a mechanical model, and it usually rounds edges and boundaries of two surfaces thereof for the following three reasons; to simplify production, to increase mechanical strength, and to beauty the outline of the finished goods of the models. The term "a fillet surface", as used herein, means the round surface of the model processed by the above 3D CAD system. Various methodologies for generating a fillet surface have been proposed, such as in (1) Rockwood, et al., "Blending Surfaces in Solid Modeling" (Geometric Modeling SIAM, G.Farin Ed., Philadelphia, Pa., U.S.A., pp.367-383, 1987); (2) Hoffmann et al., "The Potential Method for Blending Surfaces and Corners" (Geometric Modeling SIAM, G.Farin Ed., Philadelphia, Pa., U.S.A., pp.347-365, 1987); (3) Choi et al., "Constant-radius Blending in Surface Modeling" (Computer Aided Design, Vol 21, No.4, pp.213-220, 1989); (4) Varady et al., "Rolling Ball Blends in Solid Modeling" (Computer Applications in Production and Engineering, F.Kimura and A.Rolstadas Ed., Elsevier Science Publishers B.V., North-Holland, pp.295-308, 1989); and (5) Sanglikar et al., "Modeling Rolling Ball Blends for Computer Aided Geometric Design" (Computer Aided Design, Vol 7., pp.399-414, 1990). The above first, third, fourth, and fifth documents use the so-called rolling-ball blending method, in which a concave part D shown in FIGS. 1A and 1B generated by two surfaces S.sub.a and S.sub.b of a mechanical model is processed by placing a ball B having a constant radius r, as shown in FIG. 1C, in contact with the two surfaces S.sub.a and S.sub.b, then rounding the ball B along a boundary curve between the two surfaces S.sub.a and S.sub.b, and connecting the surface S.sub.a and S.sub.b to each other via a fillet surface F.sub.i generated by a surface of the ball B.
However, the conventional rolling-ball blending method has the following disadvantage, namely that the method cannot generate various fillet surfaces in accordance with the designer's requirement since the fillet surface generated by the rolling-ball is uniformly determined. Thus, the rolling-ball blending method cannot satisfy a designer who, for example, wishes to connect the two surfaces to each other via a fillet surface having a constant radius with respect to a normal surface of a spine curve R shown in FIG. 1A which is specifically defined by the designer. In addition, according to the above first, second, third, and fifth documents, the fillet surface is an analytic surface defined by a very high-degree equation, such as an implicit function (in the first and second documents) and a specific parametric surface having no control point (in the third and fourth documents), and often expressed by a root and/or trigometric function, so that it takes much time to calculate a derivative, normal vector, and intersection of the fillet surface. Furthermore, since it is difficult for a conventional 3D CAD to process such a fillet surface, such as translation and/or rotation, enlargement, shrinkage, and data exchange.